package com.xinshujia.service;

import com.xinshujia.entity.QuartzEntity;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;

import java.util.List;

/**
 * *************************************
 * *   @author: 野狼上校               **
 * *   @since: 2024-07-23 14:48       **
 * *   @version: 1.0                  **
 * *************************************
 * <p>
 */
public interface QuartzService {
    /**
     * 创建定时任务并启动
     */
    boolean createJob(Scheduler scheduler, QuartzEntity quartzEntity) throws Exception;

    /**
     * 暂停定时任务
     */
    boolean pauseJob(Scheduler scheduler, String jobName);

    /**
     * 重启定时任务
     */
    boolean resumeJob(Scheduler scheduler, String jobName);

    /**
     * 更新定时任务
     */
    boolean updateJob(Scheduler scheduler, QuartzEntity quartzEntity);

    /**
     * 删除定时任务
     */
    boolean deleteJob(Scheduler scheduler, String jobName);

    /**
     * 根据jobName（deviceGuid）查询QuartzEntity
     */
    QuartzEntity getQuartzByJobName(String jobName);

    /**
     * 获取所有的定时任务
     */
    List<QuartzEntity> getQuartzs();
}
